package org.posupe.instituicoesEnsino;

import java.io.Serializable;

import org.posupe.pessoas.PessoaFisica;
import org.posupe.pessoas.PessoaJuridica;
import org.posupe.util.Endereco;

public class InstituicaoEnsino extends PessoaJuridica implements Serializable {

    private String sigla;
 
    public InstituicaoEnsino(String cnpj, String nome, String nomeFantasia,
			String telefone, String fax, String email, Endereco endereco,
			String sigla){
    	super(cnpj,nome,nomeFantasia,telefone,fax,email,endereco);
    	this.sigla = sigla;
    }
    
    public InstituicaoEnsino(String sigla){
    	this(null,null,null,null,null,null,null,sigla);
    }

	public String getSigla() {
		return sigla;
	}

	public void setSigla(String sigla) {
		this.sigla = sigla;
	}
    
	public boolean match(InstituicaoEnsino instituicaoensino){
       boolean retorno = true;
       
       if((instituicaoensino != null)
				&& (instituicaoensino.getCodigo() != null || instituicaoensino.getEmail() != null 
				|| instituicaoensino.getEndereco() != null || instituicaoensino.getFax() != null 
				|| instituicaoensino.getNome() != null || instituicaoensino.getNomeFantasia() != null 
				|| instituicaoensino.getTelefone() != null)
				&& (this.getCodigo() != null || this.getEmail() != null 
				|| this.getFax() != null || this.getEndereco() != null
				|| this.getNome() != null || this.getNomeFantasia() != null
				|| this.getTelefone() != null)){
			retorno = super.match(instituicaoensino);
		}
       
		if((instituicaoensino == null)){
			retorno = false;
		}
		
		if (retorno && instituicaoensino.sigla != null && this.sigla != null) {
			if (!this.sigla.contains(instituicaoensino.sigla)) {
				retorno = false;
			}
		}
		
		return retorno;
	}
	
	public String toString() {
		return this.sigla + " - " + this.getNome() + " - " + this.getCodigo();
	}
    
}
